/**
 *
 */
package 设计模式.单利模式;

/**
 * 内部类方式（推荐）
 *
 * @Title:
 * @author zhoujie
 * @date 2018年7月18日 上午10:21:33
 *
 */
public class Singleton03 {
    private static class Singleton {
        private static Singleton s = new Singleton();
    }

    public static Singleton getInstance() {
        return Singleton.s;
    }

    /**
     *
     * 防止反序列生成新的单例对象，这是effective Java 一书中说的用此方法
     * @return
     */
    private Object readResolve() {
        System.out.println("readResolve");
        return getInstance();
    }
}
